package com.bjpowernode.entity;

import com.bjpowernode.core.BaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 管理员表
 * </p>
 *
 * @author zs
 * @since 2024-05-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class UmsAdmin extends BaseEntity {

    private static final long serialVersionUID = 1L;

    //删除（禁用启用）（修改active的状态）
    public UmsAdmin(String id, Boolean active) {
        super(id);
        this.active = active;
    }

    // 修改用的构造方法（需要根据指定id进行修改）
    public UmsAdmin(String id, String name, String phone, String email, Integer gender) {
        super(id);
        this.name = name;
        this.phone = phone;
        this.email = email;
        this.gender = gender;
    }

    // 新增用的构造方法
    public UmsAdmin(String name, String phone, String email, Integer gender, String password, /*Boolean active,*/String icon) {
        this.name = name;
        this.phone = phone;
        this.email = email;
        this.gender = gender;
        this.password = password;
        /*this.active = active;*/
        this.icon = icon;
    }

    /**
     * 用户姓名
     */
    private String name;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 1-男 0-女
     */
    private Integer gender;

    /**
     * 登录密码
     */
    //表示打包时不对此字段进行封装，一般用于浏览器获得数据库数据时的密码的隐藏（不将页码进行封装），
    @JsonIgnore//@JsonIgnore注解的作用是指示序列化和反序列化时忽略该字段，即在JSON序列化和反序列化过程中，该字段不会被序列化或反序列化成JSON字段。
    private String password;

    /**
     * 状态
     */
    private Boolean active;

    /**
     * 排序
     */
    private Long sort;

    /**
     * 头像路径
     */
    private String icon;


}
